package com.example.meservice.controller;

import com.example.meservice.utils.OssUtils;
import com.example.meservice.utils.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

/**
 * 文件上传控制器
 * 处理用户头像等文件的上传功能
 *
 * @author czwa
 */
@RestController
@Slf4j
public class uploadController {

    /**
     * 上传用户头像
     * 将用户上传的头像文件存储到OSS对象存储服务
     *
     * @param file 上传的头像文件
     * @return 上传结果，包含OSS存储的文件URL
     * @throws Exception 上传过程中发生的异常
     */
    @PostMapping("/uploadAvatar")
    public Result uploadAvatar(MultipartFile file) throws Exception {
        log.info("上传头像文件: {}", file.getOriginalFilename());

        // 检查文件是否为空
        if (!file.isEmpty()) {
            // 调用OSS工具类上传文件并获取URL
            String url = OssUtils.uploadAvatar(file.getBytes());
            return Result.success(url);
        }

        return Result.error("上传失败，文件为空");
    }
}